/* sm_sea.h -- Mar
 *
 * Copyright (C) 2008, Diogo F. S. Ramos <diogo.ramos@usp.br>
 *                     Márcio Rogério
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

#ifndef SM_SEA_H_
#define SM_SEA_H_

#include <GL/gl.h>

typedef struct sm_sea_t sm_sea_t;

struct sm_sea_t
{
    void (*draw)(void* self);
    GLfloat pos[3];

    GLfloat mat_specular[4];
    GLfloat mat_diffuse[4];
    GLfloat mat_ambient[4];
    GLfloat mat_shininess;
    
    GLint width;
    GLint height;
    GLint **water_grid;
};

sm_sea_t * sm_sea_new( const int width, const int height );
void sm_sea_destroy( sm_sea_t * self );
void sm_sea_draw( sm_sea_t * self );
void sm_sea_set_material( sm_sea_t * self );

#endif	/* SM_SEA_H_ */
